This invention relates to radio paging receivers and, more particularly, to error detection and correction in radio paging receivers.
In the past several years, radio paging technology has advanced from the rather simple tone-only pager (tone alert only, no voice), to the tone and voice pager (tone alert with a voice message) and more recently to the alphanumeric display pager. In a typical conventional display paging system such as that shown as system 10 in FIG. 1, a central transmitter or paging terminal 20 is used to generate the radio pages which are transmitted via a radio link to a fleet of paging receivers 1, 2, 3 . . . N, wherein N is the total number of pagers in system 10. A unique digital address is associated with each of paging receivers 1, 2, 3 . . . N. A page which is transmitted by paging terminal 20 consists of the unique digitally encoded address of the particular pager to which the page is targeted, immediately followed by a corresponding digitally encoded numeric or alphanumeric page message which is intended for display on the target pager.
Typically, the numeric or alphanumeric page message is stored in a memory within the paging receiver for later recall and display by the pager user. Paging receivers are available with a wide range of message storage capabilities which range from the ability to store just a few rather short numeric page messages to the ability to store a relatively large number of longer alphanumeric page messages.
A modern display paging system must have the capability of recognizing duplicate page messages since in such systems it is possible for the pager to receive the same page message several times. For example, to obtain wider and more reliable coverage, the same page (address plus alphanumeric message) is transmitted several times in some paging systems. This, of course, could result in the same page message being displayed more than once to the user if duplicate page checking and duplicate page suppression were not provided. Message duplication also occurs when the operator of the paging terminal operator through error or for whatever reason sends the same message more than once. Display terminal operators may send the same message more than once when the display pager user to which the page message is addressed is known to be in a marginal coverage area. Such duplicate page messages need to be suppressed not only because they are an annoyance to the pager user, but also because duplicate pages consume valuable memory space in display pagers which use a Random Access Memory (RAM) to store incoming page messages for later viewing by the pager user. The simplest duplicate page checking mechanism merely checks the contents of corresponding data blocks of incoming page messages with those page messages already stored in memory to determine if there is duplicity. This approach would work well except when the duplicate page or the original page message contains errors which make such a straightforward comparison difficult. An optimum duplicate page checking mechanism in a pager would detect all duplicate pages even though the duplicate page or the original page contains errors in some alphanumeric characters. If the pager fails to detect the presence of a duplicate page message, then storage of incoming duplicate page messages can result in the removal of yet unread earlier page messages which were stored in the memory of the display pager.
For example, conventional display pagers are known which include a memory having the capability of holding to 4 messages. In the alphanumeric version of this pager, each message can be up to 40 alphanumeric characters long. Stored messages are read out of memory and displayed in "last in--first out" (LIFO) fashion When the pager memory is full of unread messages and yet another message is received, the oldest message is replaced by the present received message. Thus, unread messages can be lost when the pager user neglects to read stored messages.
The problem of losing unread messages in a display pager with a message memory is compounded by duplicate page messages, and the problem becomes more pronounced when the display pager memory accommodates fewer messages. By way of example, assume that the display pager memory 30 as seen in FIG. 2 includes 4 memory locations designated A, B, C and D which are presently filled with unread messages 1, 2, 3 and 4, respectively. Message 1 in location A is the least current message and message 4 in location D is the most current message. When a message 5 is received by the display pager, then message 5 is stored in location A by overwriting message 1 thus destroying message 1.
Pager users understand that page messages left unread for long periods of time in the pager will eventually be overwritten by more current messages. However, in a severe case, if a series of duplicate pages are received and the pager has an inadequate means for detecting the presence of highly errorred duplicate pages and for suppressing such duplicate pages, then the entire contents of the pager memory can be lost. Although such an occurrence would not be common, it is nonetheless a concern.
Continuing with the example above wherein message 1 has just been over written by message 5, assume that a series of 3 highly errorred duplicate page messages 6, 7 and 8 is received by the target display pager. Message 2 (location B), message 3 (location C) and message 4 (location D) are overwritten by incoming duplicate page messages 6, 7 and 8. In this severe example, it is thus seen that the inability to detect highly errorred duplicate page messages has caused three unread messages to be lost from memory.
One approach to the problem of highly errorred duplicate page messages is to provide display pagers which can store a large number of messages. In this manner if some page messages happen to be duplicates, the likelihood of overwriting a prior unread page message is lessened. However, additional memory is expensive and setting aside such additional memory for duplicate page messages is not cost effective. It is also inconvenient for the pager user to have duplicate messages stored in the pager memory.
Thus far the problem of duplicate page messages in a display pager has been discussed as though the display pager only had a single address. However, modern display pagers often have multi-address capability. Duplicate pages received on such multi-address pagers can cause additional confusion. For example, one typical multi-address pager has three different addresses (or source numbers) which the paging terminal can call to reach the pager. In such modern paging systems the messages are divided up into smaller data blocks by the paging terminal for transmission to the pagers. Each data block contains at least one character (as used for convenience in the subsequent examples), but usually contains a plurality of characters. Each data block contains parity or error correction information. For example in the POCSAG paging coding scheme, each data block is a (31,21) word wherein 31 refers to the total number of characters in the word and 21 refers to the number of information characters in the word. The remaining characters of the word are dedicated to parity bits which permit bit error correction. Conventional pagers are known to employ a bit error correcting algorithm to correct bit errors. If the number of bit errors exceeds a predetermined number of errors, then the data block is considered to be an uncorrectable errorred data block in conventional pagers.
Conventional pagers do not consider duplicate page messages with errors to be duplicate pages and thus a single message which is transmitted several times and received with errors will be stored in several memory locations. In this manner, valuable memory space is wasted in conventional pagers.
FIG. 3 contains a simplified representation of the memory of such a multi-address pager wherein the page message consists of a plurality of data blocks designated DB. The detection of highly errorred duplicate pages also is a concern in multi-address pagers. A data block of a page message is determined to be in error when the number of bit errors exceed the number of errors which are correctable by the selected bit error correcting algorithm employed in the pager. In practice, each page message is typically stored at a location in memory (A-H, for example) together with the corresponding page address (source number) for which it is intended. In this manner information is available such that the display can indicate to the user the particular address to which the page message is addressed. For example, in the case of a 3 address display pager, address 1 could indicate low priority page messages, address 2 could be associated with medium page messages and address 3 could be associated with the highest priority pages. Alternatively, addresses 1, 2 and 3 could be associated with messages originating from three different sources. In such case, the three addresses would appropriately be called source numbers.
At this point in time, it is believed that no single address or multi-address paging receivers are known which employ both a high reliability mechanism to detect duplicate page messages and which use the duplicate page message, once detected, to provide error correction to the original message already stored in the pager memory.